/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package org.apli.haiam.admin.entidades;

import java.math.BigInteger;
import java.util.Date;

/**
 * Contiene información de una persona natural o jurídica.
 * <p>
 * <H6>Soporte:HAIMA
 * <I>david_s_1086@hotmail.com,david.carranza@haiam.gob.ec</I></H6>
 *
 * @author david Carranza
 * @version 1.0 30/07/2014
 */
public class SriPersona {

    private static final long serialVersionUID = 1L;
    /**
     * Corresponde al número de RUC
     */
    private String numeroRuc;
    /**
     * Indica si está obligado a llevar contabilidad
     */
    private String obligado;
    /**
     * Nombre del contador
     */
    private String contador;
    /**
     * Indica si es persona natural o sociedad
     */
    private String personaSociedad;
    /**
     * Activo o inactivo
     */
    private String estadoPersonaNatural;
    /**
     * Nombre de la razón social
     */
    private String razonSocial;
    private String estadoSociedad;
    private String nombreFantasiaComercial;
    /**
     * Fecha de inicio de actividades
     */
    private Date fechaInicioActividades;
    /**
     * Fechade inscripción del RUC
     */
    private Date fechaInscripcionRuc;
    /**
     * Fecha de nacimiento
     */
    private Date fechaNacimiento;
    /**
     * Tipo de contribuyente
     */
    private String tipoContribuyente;
    /**
     * Clase de contribuyente
     */
    private String claseContribuyente;
    /**
     * Calle
     */
    private String calle;
    /**
     * Número de casa
     */
    private String numero;
    /**
     * Intersección
     */
    private String interseccion;
    /**
     * Número de teléfono
     */
    private String telefono;
    /**
     * Correo electrónico de contribuyente
     */
    private String correoElectronico;
    /**
     * Refere4ncia de ubicación
     */
    private String referenciaUbicacion;
    /**
     * Fecha de reinicio de actividades
     */
    private Date fechaReinicioActividades;
    /**
     * Fecha de suspensión definitiva
     */
    private Date fechaSuspensionDefinitiva;
    /**
     * Fecha de constitución
     */
    private Date fechaConstitucion;
    /**
     * Actividad económica principal
     */
    private String actividadEconomicaPrincipal;
    /**
     * Representante legal
     */
    private String representanteLegal;
    /**
     * Ubicación geográfica
     */
    private String ubicacionGeografica;
    /**
     * Número de de registro a colegio o gremio
     */
    private String numeroRegistroColegioGremio;
    /**
     * Calificación artesanal
     */
    private String calificacionArtesanal;
    /**
     * Fecha de calificación artesanal
     */
    private Date fechaCalificacionArtesanal;
    /**
     * Agente de retención
     */
    private String agenteRetencion;
    /**
     * Fecha de actualización
     */
    private Date fechaActualizacion;
    /**
     * Calificación artesanal
     */
    private String numRucSociedadAdscrita;
    /**
     * Actividad del contribuyente
     */
    private String actividadContribuyente;
    /**
     * Código de TAO
     */
    private BigInteger taoCodigo;

    /*
     * Constructor por defecto.
     */
    public SriPersona() {
    }

    public String getNumeroRuc() {
        return numeroRuc;
    }

    public void setNumeroRuc(String numeroRuc) {
        this.numeroRuc = numeroRuc;
    }

    public String getObligado() {
        return obligado;
    }

    public void setObligado(String obligado) {
        this.obligado = obligado;
    }

    public String getContador() {
        return contador;
    }

    public void setContador(String contador) {
        this.contador = contador;
    }

    public String getPersonaSociedad() {
        return personaSociedad;
    }

    public void setPersonaSociedad(String personaSociedad) {
        this.personaSociedad = personaSociedad;
    }

    public String getEstadoPersonaNatural() {
        return estadoPersonaNatural;
    }

    public void setEstadoPersonaNatural(String estadoPersonaNatural) {
        this.estadoPersonaNatural = estadoPersonaNatural;
    }

    public String getRazonSocial() {
        return razonSocial;
    }

    public void setRazonSocial(String razonSocial) {
        this.razonSocial = razonSocial;
    }

    public String getEstadoSociedad() {
        return estadoSociedad;
    }

    public void setEstadoSociedad(String estadoSociedad) {
        this.estadoSociedad = estadoSociedad;
    }

    public String getNombreFantasiaComercial() {
        return nombreFantasiaComercial;
    }

    public void setNombreFantasiaComercial(String nombreFantasiaComercial) {
        this.nombreFantasiaComercial = nombreFantasiaComercial;
    }

    public Date getFechaInicioActividades() {
        return fechaInicioActividades;
    }

    public void setFechaInicioActividades(Date fechaInicioActividades) {
        this.fechaInicioActividades = fechaInicioActividades;
    }

    public Date getFechaInscripcionRuc() {
        return fechaInscripcionRuc;
    }

    public void setFechaInscripcionRuc(Date fechaInscripcionRuc) {
        this.fechaInscripcionRuc = fechaInscripcionRuc;
    }

    public Date getFechaNacimiento() {
        return fechaNacimiento;
    }

    public void setFechaNacimiento(Date fechaNacimiento) {
        this.fechaNacimiento = fechaNacimiento;
    }

    public String getTipoContribuyente() {
        return tipoContribuyente;
    }

    public void setTipoContribuyente(String tipoContribuyente) {
        this.tipoContribuyente = tipoContribuyente;
    }

    public String getClaseContribuyente() {
        return claseContribuyente;
    }

    public void setClaseContribuyente(String claseContribuyente) {
        this.claseContribuyente = claseContribuyente;
    }

    public String getCalle() {
        return calle;
    }

    public void setCalle(String calle) {
        this.calle = calle;
    }

    public String getNumero() {
        return numero;
    }

    public void setNumero(String numero) {
        this.numero = numero;
    }

    public String getInterseccion() {
        return interseccion;
    }

    public void setInterseccion(String interseccion) {
        this.interseccion = interseccion;
    }

    public String getTelefono() {
        return telefono;
    }

    public void setTelefono(String telefono) {
        this.telefono = telefono;
    }

    public String getCorreoElectronico() {
        return correoElectronico;
    }

    public void setCorreoElectronico(String correoElectronico) {
        this.correoElectronico = correoElectronico;
    }

    public String getReferenciaUbicacion() {
        return referenciaUbicacion;
    }

    public void setReferenciaUbicacion(String referenciaUbicacion) {
        this.referenciaUbicacion = referenciaUbicacion;
    }

    public Date getFechaReinicioActividades() {
        return fechaReinicioActividades;
    }

    public void setFechaReinicioActividades(Date fechaReinicioActividades) {
        this.fechaReinicioActividades = fechaReinicioActividades;
    }

    public Date getFechaSuspensionDefinitiva() {
        return fechaSuspensionDefinitiva;
    }

    public void setFechaSuspensionDefinitiva(Date fechaSuspensionDefinitiva) {
        this.fechaSuspensionDefinitiva = fechaSuspensionDefinitiva;
    }

    public Date getFechaConstitucion() {
        return fechaConstitucion;
    }

    public void setFechaConstitucion(Date fechaConstitucion) {
        this.fechaConstitucion = fechaConstitucion;
    }

    public String getActividadEconomicaPrincipal() {
        return actividadEconomicaPrincipal;
    }

    public void setActividadEconomicaPrincipal(String actividadEconomicaPrincipal) {
        this.actividadEconomicaPrincipal = actividadEconomicaPrincipal;
    }

    public String getRepresentanteLegal() {
        return representanteLegal;
    }

    public void setRepresentanteLegal(String representanteLegal) {
        this.representanteLegal = representanteLegal;
    }

    public String getUbicacionGeografica() {
        return ubicacionGeografica;
    }

    public void setUbicacionGeografica(String ubicacionGeografica) {
        this.ubicacionGeografica = ubicacionGeografica;
    }

    public String getNumeroRegistroColegioGremio() {
        return numeroRegistroColegioGremio;
    }

    public void setNumeroRegistroColegioGremio(String numeroRegistroColegioGremio) {
        this.numeroRegistroColegioGremio = numeroRegistroColegioGremio;
    }

    public String getCalificacionArtesanal() {
        return calificacionArtesanal;
    }

    public void setCalificacionArtesanal(String calificacionArtesanal) {
        this.calificacionArtesanal = calificacionArtesanal;
    }

    public Date getFechaCalificacionArtesanal() {
        return fechaCalificacionArtesanal;
    }

    public void setFechaCalificacionArtesanal(Date fechaCalificacionArtesanal) {
        this.fechaCalificacionArtesanal = fechaCalificacionArtesanal;
    }

    public String getAgenteRetencion() {
        return agenteRetencion;
    }

    public void setAgenteRetencion(String agenteRetencion) {
        this.agenteRetencion = agenteRetencion;
    }

    public Date getFechaActualizacion() {
        return fechaActualizacion;
    }

    public void setFechaActualizacion(Date fechaActualizacion) {
        this.fechaActualizacion = fechaActualizacion;
    }

    public String getNumRucSociedadAdscrita() {
        return numRucSociedadAdscrita;
    }

    public void setNumRucSociedadAdscrita(String numRucSociedadAdscrita) {
        this.numRucSociedadAdscrita = numRucSociedadAdscrita;
    }

    public String getActividadContribuyente() {
        return actividadContribuyente;
    }

    public void setActividadContribuyente(String actividadContribuyente) {
        this.actividadContribuyente = actividadContribuyente;
    }

    public BigInteger getTaoCodigo() {
        return taoCodigo;
    }

    public void setTaoCodigo(BigInteger taoCodigo) {
        this.taoCodigo = taoCodigo;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (numeroRuc != null ? numeroRuc.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof SriPersona)) {
            return false;
        }
        SriPersona other = (SriPersona) object;
        if ((this.numeroRuc == null && other.numeroRuc != null) || (this.numeroRuc != null && !this.numeroRuc.equals(other.numeroRuc))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "ec.gob.mdmq.lmu.entidades.SriPersona[numeroRuc=" + numeroRuc + "]";
    }
}
